perm filename RR[MUS,LCS] blob sn#316234 filedate 1977-11-10 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002
C00006 ENDMK
C⊗;

      EXTERNAL FUNCTION GETINF(ARRAY J,INSR,INBT,INCH,INMX,INDR),
      RDSMPL(ARRAY N,BITS);
 
      ARRAY INF(1536);
      VARIABLE /CNT,/RD,/SCNT,INCH,INSR,INMX,INDR,INBT,INBUF,
      IX,/INC,RX,JZ,IZ;

      FUNCTION PRNTIT(CNT,INSR,INBT,INCH,INMX,INDR,INBUF);  
      BEGIN 
        INBUF←1536-512*INBT ;     
        PRINT "SRATE=",INSR," BITS=",12+INBT*6," NCHNS=",INCH,
        " MAXAMP=",INMX," DUR=",INDR/INSR/INCH;
            INDR←INDR-2;
      END;

      FUNCTION READIN(RD);
      BEGIN 		<DON'T FORGET TO INIT AND SCNT ← 0;
        IF SCNT=0 THEN BEGIN        
          GETINF(INF,INSR,INBT,INCH,INMX,INDR); <HEADER IS READ INTO ARRAY INF.
          PRNTIT(CNT,INSR,INBT,INCH,INMX,INDR,INBUF);
           RDSMPL(INF,INBT);
     	   CNT←0;  JZ←0; RX←INF(0);
        END;
        SCNT←SCNT+INC; 
	INC←INC+P5;

        IF SCNT > INDR THEN  BEGIN <CHECK TO SEE IF SMPL CNT IS EXCEEDED
           RD←0;  RETURN(RD); END;
         IX ← INF(JZ);
         IZ←1-INT(JZ)+CNT;
            RD←RX+(IX-RX)*IZ;   < INTERPOLATION
        CNT←CNT+INC; <UPDATE THE COUNTER

        IF CNT < INBUF THEN RX←INF(CNT);
	JZ←CNT+1; 

        IF JZ ≥ INBUF THEN BEGIN
           RDSMPL(INF,INBT);
           JZ←JZ-INBUF;  
	   CNT←JZ-1;
	   IF CNT ≥ 0 THEN RX←INF(CNT);
       	    END;
        RETURN(RD); 
     END; 

	OUTFILE←"INCX.SND";
      INSTRUMENT READA;
<IF P1 > .5 THEN BEGIN  IF SCNT > 3620 THEN BEGIN PRINT RD;
<IF RD≠0 THEN PRINT CNT; IF RD ≠0 THEN PRINT SCNT;END;END;
      OUTA←OUTA+P4*READIN(RD);
      END;

      SETMAG;1 12
      INC← 1  ;
      PLAY;

      READA  0 1.46   0  1    .0000025   ;
      SCNT←0; INFILE←"INC"; 
      READA  P1+P2 1.46   0  1    .0000025   ;
      SCNT←0; INFILE←"INC"; 
      READA  P1+P2 1.46   0  1    .0000025   ;
      SCNT←0; INFILE←"INC"; 
      READA  P1+P2 1.46   0  1    .0000025   ;
      SCNT←0; INFILE←"INC"; 
      READA  P1+P2 1.46   0  1    .0000025   ;
      SCNT←0; INFILE←"INC"; 

      FINISH;